草庐IT

Swift 枚举评估

全部标签

c# - bool 转换问题的枚举

我有以下枚举:publicenumMyEnum{MyTrue,MyFalse}我希望最终能够自动将我的枚举转换为bool值,使用如下简单的一行:MyEnumval=MyEnum.MyTrue;boolIsThisTrue=val;目前,我必须这样做:boolIsThisTrue=val==MyEnum.MyTrue;是否有某种机制可以应用于我的枚举以允许nativeenum->bool转换?我想知道我是否需要某种类型转换器的变体。谢谢编辑:我的自定义枚举是有原因的。由于这些属性最终都绑定(bind)到一个属性网格,我们有机制将我们所有的自定义枚举绑定(bind)到资源文件中的多语言字符

c# - 检查 IEnumerable 是否有任何行而不枚举整个列表

我有以下方法返回T类型的IEnumerable。方法的实现并不重要,除了yieldreturn到lazyloadIEnumerable之外。这是必要的,因为结果可能有数百万个项目。publicIEnumerableParse(){foreach(...){yieldreturnparsedObject;}}问题:我有以下属性可用于确定IEnumerable是否包含任何项目:publicboolHasItems{get{returnParse().Take(1).SingleOrDefault()!=null;}}是否有更好的方法来做到这一点? 最佳答案

C# 使用管道和符号传递多个枚举值之间的区别

C#接受这个:this.MyMethod(enum.Value1|enum.Value2);还有这个:this.MyMethod(enum.Value1&enum.Value2);有什么区别? 最佳答案 当您执行|时,您选择了两者。当您执行&时,您只会看到重叠的部分。请注意,只有当您将[Flags]属性应用于您的枚举时,这些运算符才有意义。参见http://msdn.microsoft.com/en-us/library/system.flagsattribute.aspx有关此属性的完整说明。例如,以下枚举:[Flags]publ

c# - 如何在 C# 中优化枚举赋值

我有这个枚举enumNetopScriptGeneratingCases{AddLogMessages,AddLogErrors,AddLogJournal,AllLog=AddLogMessages|AddLogErrors|AddLogJournal,DoNothing}并且有一个带有3个复选框的UI,所以根据选中的复选框,我必须生成可能的案例来完成一些工作。NetopScriptGeneratingCasesnetopScriptGeneratingCases=NetopScriptGeneratingCases.DoNothing;if(checkBoxAddAuditLog.

c# - 是否有 .NET 方法来枚举所有可用的网络打印机?

是否有直接的方法来枚举.NET中所有可见的网络打印机?目前,我正在展示PrintDialog以允许用户选择打印机。问题在于,本地打印机也会显示(以及XPSDocumentWriter等)。如果我可以自己枚举网络打印机,我可以显示一个仅包含这些打印机的自定义对话框。谢谢!! 最佳答案 从LocalPrintServer.DefaultPrintQueue获取默认打印机从PrinterSettings.InstalledPrinters获取已安装的打印机(从用户的角度来看)枚举列表:任何以\\开头的打印机都是网络打印机-所以使用newP

c# - 如何确定枚举值是否具有一个或多个与之比较的值?

我有一个标有[Flags]属性的枚举,如下所示:[Flags]publicenumTag:int{None=0,PrimaryNav=1,HideChildPages=2,HomePage=4,FooterLink=8}在我的站点地图的站点地图节点上,我将标签组合的int值存储为一个属性。我需要做的是检查一个节点是否有一个或多个标签中的任何一个,例如标签.PrimaryNav|标记.HomePage.我正在努力使用必要的bool逻辑来确定枚举值是否具有一个或多个与之进行比较的值。如果不清楚,请见谅。如有必要,我可以提供更多信息。 最佳答案

c# - 如果返回类型是可枚举的,返回列表是否错误

我经常遇到想要返回Enumerable的情况来自方法或属性。打造回归Enumerable,我用List-实例。填写列表后,我返回列表。我一直以为这样就够了。但是存在调用者转换结果Enumerable的可能性。回到List并开始进一步使用它。如果稍后我更改方法的实现,调用者的代码将失败。为避免这种情况,我可以在将列表返回给调用者之前返回list.ToArray或创建一个只读列表。但对我来说,这似乎是一个很大的矫枉过正。你怎么看?请注意,我永远不会返回内部使用的列表,以便调用者可以更改我的对象的内部状态。问题只是关于临时构建的用于保存返回值的短期列表。IEnumerableGetAList

C#:有没有办法对枚举进行分类?

给定以下枚举:publicenumPosition{Quarterback,Runningback,DefensiveEnd,Linebacker};是否可以对命名常量进行分类,以便我可以将“Quarterback”和“Runningback”标记为进攻位置,将“DefensiveEnd”和“Linebacker”标记为防守位置? 最佳答案 您可以使用属性:publicenumPosition{[OffensivePosition]Quarterback,[OffensivePosition]Runningback,[Defensi

C#,标志枚举,用于查找标志的通用函数

我想要一个可以与任何Flags样式枚举一起使用的通用函数,以查看是否存在标志。这不会编译,但如果有人有建议,我将不胜感激。publicstaticBooleanIsEnumFlagPresent(Tvalue,TlookingForFlag)whereT:enum{Booleanresult=((value&lookingForFlag)==lookingForFlag);returnresult;} 最佳答案 不,您不能使用C#泛型执行此操作。但是,您可以做:publicstaticboolIsEnumFlagPresent(Tv

c# - 如何使用 Name 属性枚举 .NET 中的线程?

假设我像这样启动两个线程://StartfirstthreadThreadloaderThread1=newThread(loader.Load);loaderThread1.Name="Rope";loaderThread1.Start();//StartsecondthreadThreadloaderThread2=newThread(loader.Load);loaderThread2.Name="String";loaderThread2.Start();有什么方法可以通过使用它们的Name属性来枚举线程?我想检查具有特定名称的线程是否仍在运行。我创建的每个线程都处理一组命名的